import { mapGetters } from 'vuex'
import { navLibList } from '@/utils/data';

export default {
  data() {
    return {
      mixinFooterNav: [
	      {
	          'name': '首页',
	          'icon': 'ft ft-home',
	          'active_icon': 'ft ft-home-fill',
	          'path': '/pages/home/index',
	          'typeNum': 1
	      },
	      {
	          'name': '我的',
	          'icon': 'ft ft-my',
	          'active_icon': 'ft ft-my-fill',
	          'path': '/pages/application/index',
	          'typeNum': 12,
	          'badge': 11,
	          'disabled': true
	      },  
	  ],

      footerIndex: null
    }
  },
  computed: {
    ...mapGetters({
      backlogTotal: 'base/backlogTotal',
      // serviceNav: 'user/serviceNav',
			navConfig: 'user/navConfig'
    }),
    msgTabIndex() {
      return this.mixinFooterNav.findIndex(item => item.hasOwnProperty('badge'))
    },
		activeTabItem() {
			if (this.$isEmpty(this.footerIndex)) {
				return null
			}
			return this.mixinFooterNav[this.footerIndex] || null
		},
		showTabbar() {
			const arr = this.navConfig.nav || []
			return this.activeTabItem && arr.includes(this.activeTabItem.typeNum)
		}
  },
  watch: {
    backlogTotal: {
      handler() {
        this.setFooterTabBadge()
      },
      immediate: true
    },
    msgTabIndex: {
      handler() {
        this.setFooterTabBadge()
      },
      immediate: true
    },
    // serviceNav: {
    //   handler() {
    //     this.mixinFooterNav = [].concat(this.serviceNav)
    //     // 2024/8/1 @description: 根据用户拥有的权限 以及 用户的 个性化导航栏设置 对导航栏进行进一步处理 主要是给导航栏排序
    //     // 如果用户的导航栏设置中 不含 人力 导航栏 自动补上 如果已存在 不需要补 不然会重复
    //     // 先remove '人力'
    //     // 再push '人力' 使该导航一定在倒数第二个
    //     const performanceNavFlag = this.mixinFooterNav.find(item => item.typeNum === 13)
    //     if (performanceNavFlag) {
    //       this.mixinFooterNav.splice(this.mixinFooterNav.findIndex(item => item.typeNum === 13), 1)
    //     }
    //     const performanceNavF = navLibList.find(item => item.typeNum === 13)
    //     this.mixinFooterNav.push(performanceNavF)
    //     // 先 remove '我的'
    //     // 再 push '我的' 使该导航一定在最后
    //     const myNavFlag = this.mixinFooterNav.find(item => item.typeNum === 12)
    //     if (myNavFlag) {
    //       this.mixinFooterNav.splice(this.mixinFooterNav.findIndex(item => item.typeNum === 12), 1) 
    //     }
    //     const myNav = navLibList.find(item => item.typeNum === 12)
    //     this.mixinFooterNav.push(myNav)

    //     if (this.$auth('crm.customer')) {
    //       // 先remove '首页'
    //       // 再push '首页' 使该导航一定在第一个
    //       const homeNavFlag = this.mixinFooterNav.find(item => item.typeNum === 1)
    //       if (homeNavFlag) {
    //         this.mixinFooterNav.splice(this.mixinFooterNav.findIndex(item => item.typeNum === 1), 1)
    //       }
    //       const homeNav = navLibList.find(item => item.typeNum === 1)
    //       // 将 首页 添加到 最前面
    //       this.mixinFooterNav.unshift(homeNav)
    //     }
    //     this.setFooterTabBadge()
    //     this.setFooterIndex()
    //   },
    //   deep: true,
    //   immediate: true
    // }
  },
  mounted() {
		this.setFooterIndex()
  },
	onShow() {
		this.setFooterIndex()
	},
  methods: {
    // 待办事项总数标记
    setFooterTabBadge() {
      if (!this.msgTabIndex || !this.mixinFooterNav[this.msgTabIndex]) return
      this.mixinFooterNav[this.msgTabIndex].badge = this.backlogTotal > 99 ? '99+' : this.backlogTotal
      this.$set(this.mixinFooterNav, this.msgTabIndex, this.mixinFooterNav[this.msgTabIndex])
    },

    /**
     * 设置默认选中的项
     */
    setFooterIndex() {
			const pages = getCurrentPages()
			if (pages.length > 0) {
				const currentPage = pages[pages.length - 1]
        const path = currentPage.route
				this.footerIndex = this.mixinFooterNav.findIndex(item => item.path.startsWith('/' + path))
			} else {
				this.footerIndex = -1
			}
    }
  }
}
